import request from '@/utils/request'

// 查询角色列表
export function listRole(query) {
  return request({
    url: '/system/role/list',
    method: 'get',
    params: query
  })
}

// 查询角色详细
export function getRole(roleId) {
  return request({
    url: '/system/role/' + roleId,
    method: 'get'
  })
}

// 新增角色
export function addRole(data) {
  return request({
    url: '/system/role',
    method: 'post',
    data: data
  })
}

// 修改角色
export function updateRole(data) {
  return request({
    url: '/system/role',
    method: 'put',
    data: data
  })
}

// 角色数据权限
export function dataScope(data) {
  return request({
    url: '/system/role/dataScope',
    method: 'put',
    data: data
  })
}

// 角色状态修改
export function changeRoleStatus(id, status) {
  const data = {
    id,
    status
  }
  return request({
    url: '/system/role/changeStatus',
    method: 'put',
    data: data
  })
}

// 删除角色
export function delRole(roleId) {
  return request({
    url: '/system/role/' + roleId,
    method: 'delete'
  })
}

// 导出角色
export function exportRole(query) {
  return request({
    url: '/system/role/export',
    method: 'get',
    params: query
  })
}

// 校验角色名称唯一性
export function checkRoleNameUnique(data) {
  return request({
    url: '/system/role/checkRoleNameUnique',
    method: 'get',
    params: data
  })
}

// 校验角色名称唯一性
export function checkRoleKeyUnique(data) {
  return request({
    url: '/system/role/checkRoleKeyUnique',
    method: 'get',
    params: data
  })
}

// 查询最大排序
export function findMaxSort() {
  return request({
    url: '/system/role/findMaxSort',
    method: 'get'
  })
}
// 新增角色
export function batchSaveRole(data) {
  return request({
    url: '/system/role/batchSave',
    method: 'post',
    data: data
  })
}
// 删除角色
export function delRoleUser(roleId, userIds) {
  return request({
    url: '/system/role/deleteRoleUser/' + roleId + '/' + userIds,
    method: 'delete'
  })
}
// 给小页授权
export function saveRolePortlet(data) {
  return request({
    url: '/system/role/saveRolePortlet',
    method: 'post',
    data: data
  })
}
// 应用绑定
export function appModelApi(data) {
  return request({
    url: '/sys/appMenuPremissions/bindMenu',
    method: 'post',
    data: data
  })
}
// 复制
export function copyApi(roleId) {
  return request({
    url: '/system/role/copy/' + roleId,
    method: 'post'
  })
}
// 应用绑定回显
export function appModelShowApi(data) {
  return request({
    url: '/sys/appMenuPremissions/roleBindMenuIds',
    method: 'post',
    data: data
  })
}

// 角色 启用
export function apiRoleEnable(data) {
  return request({
    url: '/system/role/enable',
    method: 'PUT',
    data: data
  })
}

// 角色 停用
export function apiRoleDisable(data) {
  return request({
    url: '/system/role/disable',
    method: 'PUT',
    data: data
  })
}

// 查询应用列表
export function queryAppList() {
  return request({
    url: '/system/role/queryAppList',
    method: 'get'
  })
}

// 区域管理树
export function regionListTree (level, id) {
  return request({
    url: `/sys/sysRegion/listTree/${level}/${id}`,
    method: 'get'
  })
}

export function listTree(searchInfo) {
  return request({
    url: '/sys/appMenuResources/listAppTree',
    method: 'get',
    params: searchInfo
  })
}

export function findAppClassify(params) {
  return request({
    url: '/sys/appMenuPremissions/findAppClassify',
    method: 'get',
    params
  })
}

export function permissionListTree(params) {
  return request({
    url: '/sys/appMenuPremissions/listTree',
    method: 'get',
    params
  })
}
